home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-06 | 3.0 KB | 69 lines | [TEXT/GEOL] |
- Item forwarded by LOOMIS to GUITTET1
-
- Item 1202215 29-Aug-90 15:41PDT
-
- From: ALGER KPMG Peat Marwick, Jeff Alger,VCA
-
- To: MACAPP.TECH$ MacApp Technical
-
- Sub: Multiple Inheritance
-
- While busy hammering away on our book, Foundations of Object Oriented
- Programming for the Macintosh, we noticed the on-going MacApp.Tech$ thread on
- multiple inheritance.
-
- It appears to us that the most interesting part of the discussion is not the
- multiple inheritance arguments, but the lack of an agreed upon model of
- inheritance itself. This, in fact, is a problem throughout the literature on
- the subject. One cannot talk about multiple inheritance absent a discussion of
- inheritance in general. To pose a few questions (and a few answers):
-
- - Should inheritance be used for simply code reuse (definitely)?
-
- - Should inheritance be used for derived types and is-a relationships (by all
- means)?
-
- - Are there other legitimate uses of inheritance based solely on semantic
- modelling - capturing the MEANING of a program, not just its structure
- (YES!!!)?
-
- - When should each be used?
-
- - Is multiple inheritance better than work arounds (yes - for taking advantage
- of polymorphism, avoiding parallel derivation hierarchies, and capturing
- program semantics in a natural way)?
-
- The real problem is that inheritance and sub-typing (or sub-class) are NOT the
- same thing. They are tightly coupled in Object Pascal, but divorced (though
- still going out with each other) in C++.
-
- Oft-quoted Meyer in fact reinforces our ideas that he is concerned with
- building (i.e. languages) and not architecture and modelling (i.e., ANALYSIS
- AND DESIGN). This is the most common perspective from the computer science
- community, where OOP is viewed as a language, not a methodology.
-
- Other people are more concerned with abstraction hierarchies that mirror the
- real world. This is semantic modelling, not just a nifty implementation
- strategy. Although most current methodologies for OOP development make an
- assumption that it is a legitimate basis for semantic modelling, there is
- precious little justification for this in the literature, nor are real
- differences between the object model and the way people really think properly
- accounted for. Anyone interested in why should run, not walk, to their
- neighborhood bookstore for a copy of Women, Fire and Dangerous Things by George
- Lakoff and not torment themselves with another OOP project until they have
- devoured it.
-
- The sifting of all of these concepts: object orientation, inheritance (NOT
- implied by objects!), multiple inheritance, semantic modelling, behavioral
- modelling, ad nauseum, is a very difficult task. Too many people are making
- too many unstated assumptions about the foundations of OOP and borrowing too
- many terms unjustifiably. This makes serious discussion difficult.
-
- Tossing a hand grenade where it will do the most damage,
-
- We remain,
-
- Neal Goldstein Jeff Alger
- Neal Goldstein Design, Inc. KPMG•Exis
-
-